<!DOCTYPE html>
<title>HTML Test: The style load event should fire when textContent is changed</title>
<link rel="author" title="Mason Freed" href="mailto:masonfreed@chromium.org">
<link rel="help" href="https://html.spec.whatwg.org/multipage/semantics.html#update-a-style-block">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>

<style id=target onload="load()">
  .box { color:red; }
</style>
<div class='box'></div>
<div id="log"></div>

<script>
  var loadCount = 0;
  function load() { loadCount++; }

  function styleLoad() {
    return new Promise((resolve) => {
      document.getElementById('target').addEventListener('load', () => {
        resolve();
      });
    });
  }

  promise_test(async t => {
    await styleLoad();
    assert_equals(loadCount,1,"Style element should have loaded once by now");
    target.textContent = `.box { color: green; }`;
    await styleLoad();
    assert_equals(loadCount,2,"Style element should fire the load event when textContent changes");
  },"style load event should fire when textContent changed");
</script>
